home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / a_man / cat7 / usb.z / usb
Encoding:
Text File  |  2002-10-03  |  4.7 KB  |  133 lines

  1.  
  2.  
  3.  
  4. uuuussssbbbb((((7777))))                                                                  uuuussssbbbb((((7777))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      usb - Irix USB subsystem
  10.  
  11. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  12.      This page documents the Irix USB implementation for Onyx3.
  13.  
  14.      The SN1 system Ibrick incorporates a USB host controller as part of the
  15.      baseio device set.  There are two usb ports, on one usb controller.
  16.  
  17.    DDDDeeeevvvviiiicccceeee TTTTooooppppoooollllooooggggyyyy
  18.      The USB device topology is exported through a subtree in the hardware
  19.      graph.  The device topology format is subject to change over releases as
  20.      the need arises, so it should not be relied on by scripts.  Each usb
  21.      driver (eg. keyboard, mouse) should export it's own namespace that can be
  22.      relied on.
  23.  
  24.      Usb hwgraph paths are of the form:
  25.  
  26.           /hw/.../pci/<slot>/usb/<port_path>[/device_path]
  27.  
  28.      Where <slot> is 5 for the Ibrick internal usb controller.  <port_path> is
  29.      a '/' separated sequence of usb hub port numbers.  Ports having a common
  30.      parent belong to the same usb hub.  Port components separated by a '/'
  31.      are connected by a hub.  For example:
  32.  
  33.           /hw/.../pci/5/usb/1
  34.  
  35.      refers to port 1 of the usb controller, or Root Hub in USB terminology.
  36.  
  37.           /hw/.../pci/5/usb/1/2
  38.  
  39.      refers to port 2 of the hub which is plugged into port 1 of the Root Hub.
  40.  
  41.      If a non-hub device is plugged into a port (and there is a driver for
  42.      that device), a driver-specific path will be hung off of the port that
  43.      the device is plugged into.  In the example:
  44.  
  45.           /hw/.../pci/5/usb/2/3/keyboard
  46.           /hw/.../pci/5/usb/2/4/mouse
  47.  
  48.      a driver has detected a keyboard device plugged into hub port 3, and a
  49.      mouse plugged into hub port 4.  The hub in this example is plugged into
  50.      the Root Hub port 2.
  51.  
  52.    UUUUSSSSBBBB TTTTooooppppoooollllooooggggyyyy RRRRuuuulllleeeessss
  53.           The following rules are enforced by the usb subsystem:
  54.  
  55.           - The maximum depth from root hub to end device cannot exceed 7,
  56.             where the root hub (ie. controller) counts as 1.  Stated
  57.             another way, you can have 5 usb hubs between the root hub and
  58.             an end device.
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. uuuussssbbbb((((7777))))                                                                  uuuussssbbbb((((7777))))
  71.  
  72.  
  73.  
  74.          - All hubs in a path must be self-powered with the exception of
  75.             the one closest to the end device.
  76.  
  77.           - Devices plugged into a port of a bus-powered hub must be
  78.             classified as low-power devices (max 100ma draw).
  79.  
  80.    HHHHuuuubbbb DDDDrrrriiiivvvveeeerrrr
  81.      The Irix USB infrastructure implements the driver for USB hubs.  Hubs
  82.      conforming to the USB 1.1 spec are supported.
  83.  
  84.    HHHHooootttt PPPPlllluuuugggg
  85.      The Irix USB implemtation supports hot plugging and unplugging of USB
  86.      devices, within the constraints of the USB topology rules.
  87.  
  88.      A device that is hot plugged will be initialized to a default state by
  89.      the usb subsystem, and then the appropriate driver (if any) will be
  90.      called to do further driver specific initialization.  Device
  91.      initialization errors will generally be logged to the console, and the
  92.      device will not be accessble.
  93.  
  94.      A device that is unplugged will have its entry removed from the USB
  95.      hwgraph namespace.  It is up to the individual drivers to do any driver-
  96.      specific cleanup at unplug time.
  97.  
  98.    RRRReeeesssseeeetttt
  99.      There is no general usb administrative command.  If a device needs to be
  100.      reset, it should be unplugged, and replugged.
  101.  
  102. NNNNOOOOTTTTEEEESSSS
  103.      The SGI USB implemtation is a partial implementation, intended to provide
  104.      support for selected keyboards and mice (see usbinput(7)) for Onyx3.
  105.      Currently there is no administrative command for individual device
  106.      control, and there is no support for devices other than keyboard/mouse.
  107.  
  108.      Likewise, the usb infrastructure provides no published api for the
  109.      implentation of new usb drivers.
  110.  
  111.      Only controllers conforming to the OpenHCI spec are supported.
  112.  
  113. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  114.      usbinput(7), Universal Serial Bus Specification rev 1.1, OpenHCI Open
  115.      Host Controller Interface Specification for USB rev 1.0a
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.